Divide and conquer 2448. 별 찍기 - 11 시간 제한: 1초 메모리 제한: 256MB 예제를 보니, 기본 삼각형(N=3)으로 패턴이 이루어져 있다. 삼각형 전체를 출력하기 위해선, 파트를 세 개로 쪼개면서 풀면 된다. 로 풀 수 있을 것 같다. NxW char Array를 ' '로 초기화 한다. Divide: N 줄 짜리 삼각형을 아래와 같이 N / 2 줄 짜리 삼각형 3개(A, B, C)로 쪼갠다. Conquer: 이를 계속 반복하... Divide and conquerProblem SolvingDivide and conquer 2447 - 별 찍기 - 10 이해 재귀적인 패턴으로 별을 찍는다. 평소에는 반복문 위주로 사용하여, 이번 문제는 재귀를 이용하여 풀었다. 현재 n = 3^i일 때, 가운데를 제외한 나머지는 n = 3^(i-1)이다. n이 3^i일 때 ➡️ * : 3^(i - 1)이다. 위를 이용하여 재귀함수를 구현하였다. 재귀말고, 배열로만 결과를 낼 수도 있다. (위 블로그 참고하면 된다.) 소스 채점 결과... Divide and conquerbaekjoonplzrunDivide and conquer 2448 - 별 찍기 - 11 이해 위 별의 모양이 반복해서 출력된 것을 확인할 수 있다. 문제에 나와있는 공식에 따르면 (N = 3 x 2^k)라고 한다. k가 1일 때는 위 별의 모양이 2개가 추가 되는 것이고 k가 2일 때는 k가 1일 때 모양을 2개 추가한 것을 알 수 있다. 이와 같이 반복된다. 띄어쓰기는 k가 1일 때는 위 별의 모양에서 왼쪽으로 3칸 띄워쓰기가, 위 별의 모양에서 오른쪽 끝은 3칸 띄워지면 된... Divide and conquerbaekjoonplzrunDivide and conquer [백준 5904 - Kotlin] Moo 게임 n의 위치가 S(i)에 존재한다고 가정해봅시다. S(i)는 S(i - 1) + mooo... + S(i - 1) 을 의미하고, n의 위치가 S(i)에 존재한다는 것은 S(i - 1)에는 존재하지 않다는 것을 의미합니다. 따라서 S(i)에 존재한다는 것을 알게되었을 때 우리가 고려해야 할 구간은 mooo... + S(i - 1) 구간 입니다. 먼저 mooo... 구간에 존재하는 것을 찾기 위해... Divide and conquerrecursionkotlinDivide and conquer [백준 2630 - Kotlin] 색종이 만들기 Divide and conquerrecursionkotlinDivide and conquer [Python] 백준 18222 - 투에-모스 문자열 문제 풀이 BOJ 18222번 투에-모스 문자열 Python 문제 풀이 분류: Divide and conquer (분할정복) 투에-모스 문자열의 길이는 2 ^ i로 나타낼 수 이다. 인덱스 k - 1을 포함한 투에-모스 문자열의 길이 i에서 1을 뺀 x를 구한다. 그 다음 반복문을 통해 이전 투에-모스 문자열의 k 값을 구해간다. 위키피디아의 투에-모스 수열( ) 항목에 따르면 다음과 같이 점화식을 나... Divide and conquerDivide and conquer 백준 17829, 222-풀링 - Divide And Conquer n x n 행렬에 풀링 한 번 적용 => (n / 2) x (n / 2) 행렬 n = 2^k 일 때, n x n 행렬을 1 x 1 로 만들기 => 풀링 k 번 반복 재귀 함수를 이용한 분할 정복 1) n x n 행렬에 대해 4등분 solution(int y, int x, int size) (y, x): 행렬의 상단 좌측 좌표 size: 행렬 크기 (size x size 행렬) 2) 4등분된 ... 알고리즘Divide and conquer코딩 테스트분할 정복백준 17829 222-풀링Divide and conquer 백준 2448, 별 찍기-11 - Divide And Conquer 입력 n 만큼 출력 행 전체 큰 삼각형을 봤을 때, 작은 삼각형 3개로 구성 => 상단 1개, 하단 좌측 1개, 하단 우측 1개 각 상단, 하단 좌측, 하단 우측의 작은 삼각형들도 같은 방식으로 각각의 더 작은 삼각형 3개로 구성 재귀 함수를 이용한 분할 정복 1) 파라미터 입력 삼각형에 대해 3분할 solution(int h, int y, int x) h: 삼각형 높이 (y, x): 삼각형... 백준 2448 별 찍기-11알고리즘Divide and conquer코딩 테스트분할 정복Divide and conquer [Leetcode/C++] 169_Majority Element 문제는 다음과 같습니다. 쉽지만, 새로운 알고리즘을 배울 수 있었던 문제였습니다. ➡️ 가장 마지막 풀이에 소개하겠습니다. 총 3가지 방법으로 풀었는데, 다음과 같습니다. key에 해당 숫자와, value에 해당 숫자가 나온 횟수를 계산하여, hash map의 value중 최댓값을 구해주면 됩니다. 전체 코드는 다음과 같습니다. 문제를 잘 읽어보면, 가장 많이 나온 수는 전체 수의 절반이상으... arrayDivide and conquerhashleetcodesortingDivide and conquer
2448. 별 찍기 - 11 시간 제한: 1초 메모리 제한: 256MB 예제를 보니, 기본 삼각형(N=3)으로 패턴이 이루어져 있다. 삼각형 전체를 출력하기 위해선, 파트를 세 개로 쪼개면서 풀면 된다. 로 풀 수 있을 것 같다. NxW char Array를 ' '로 초기화 한다. Divide: N 줄 짜리 삼각형을 아래와 같이 N / 2 줄 짜리 삼각형 3개(A, B, C)로 쪼갠다. Conquer: 이를 계속 반복하... Divide and conquerProblem SolvingDivide and conquer 2447 - 별 찍기 - 10 이해 재귀적인 패턴으로 별을 찍는다. 평소에는 반복문 위주로 사용하여, 이번 문제는 재귀를 이용하여 풀었다. 현재 n = 3^i일 때, 가운데를 제외한 나머지는 n = 3^(i-1)이다. n이 3^i일 때 ➡️ * : 3^(i - 1)이다. 위를 이용하여 재귀함수를 구현하였다. 재귀말고, 배열로만 결과를 낼 수도 있다. (위 블로그 참고하면 된다.) 소스 채점 결과... Divide and conquerbaekjoonplzrunDivide and conquer 2448 - 별 찍기 - 11 이해 위 별의 모양이 반복해서 출력된 것을 확인할 수 있다. 문제에 나와있는 공식에 따르면 (N = 3 x 2^k)라고 한다. k가 1일 때는 위 별의 모양이 2개가 추가 되는 것이고 k가 2일 때는 k가 1일 때 모양을 2개 추가한 것을 알 수 있다. 이와 같이 반복된다. 띄어쓰기는 k가 1일 때는 위 별의 모양에서 왼쪽으로 3칸 띄워쓰기가, 위 별의 모양에서 오른쪽 끝은 3칸 띄워지면 된... Divide and conquerbaekjoonplzrunDivide and conquer [백준 5904 - Kotlin] Moo 게임 n의 위치가 S(i)에 존재한다고 가정해봅시다. S(i)는 S(i - 1) + mooo... + S(i - 1) 을 의미하고, n의 위치가 S(i)에 존재한다는 것은 S(i - 1)에는 존재하지 않다는 것을 의미합니다. 따라서 S(i)에 존재한다는 것을 알게되었을 때 우리가 고려해야 할 구간은 mooo... + S(i - 1) 구간 입니다. 먼저 mooo... 구간에 존재하는 것을 찾기 위해... Divide and conquerrecursionkotlinDivide and conquer [백준 2630 - Kotlin] 색종이 만들기 Divide and conquerrecursionkotlinDivide and conquer [Python] 백준 18222 - 투에-모스 문자열 문제 풀이 BOJ 18222번 투에-모스 문자열 Python 문제 풀이 분류: Divide and conquer (분할정복) 투에-모스 문자열의 길이는 2 ^ i로 나타낼 수 이다. 인덱스 k - 1을 포함한 투에-모스 문자열의 길이 i에서 1을 뺀 x를 구한다. 그 다음 반복문을 통해 이전 투에-모스 문자열의 k 값을 구해간다. 위키피디아의 투에-모스 수열( ) 항목에 따르면 다음과 같이 점화식을 나... Divide and conquerDivide and conquer 백준 17829, 222-풀링 - Divide And Conquer n x n 행렬에 풀링 한 번 적용 => (n / 2) x (n / 2) 행렬 n = 2^k 일 때, n x n 행렬을 1 x 1 로 만들기 => 풀링 k 번 반복 재귀 함수를 이용한 분할 정복 1) n x n 행렬에 대해 4등분 solution(int y, int x, int size) (y, x): 행렬의 상단 좌측 좌표 size: 행렬 크기 (size x size 행렬) 2) 4등분된 ... 알고리즘Divide and conquer코딩 테스트분할 정복백준 17829 222-풀링Divide and conquer 백준 2448, 별 찍기-11 - Divide And Conquer 입력 n 만큼 출력 행 전체 큰 삼각형을 봤을 때, 작은 삼각형 3개로 구성 => 상단 1개, 하단 좌측 1개, 하단 우측 1개 각 상단, 하단 좌측, 하단 우측의 작은 삼각형들도 같은 방식으로 각각의 더 작은 삼각형 3개로 구성 재귀 함수를 이용한 분할 정복 1) 파라미터 입력 삼각형에 대해 3분할 solution(int h, int y, int x) h: 삼각형 높이 (y, x): 삼각형... 백준 2448 별 찍기-11알고리즘Divide and conquer코딩 테스트분할 정복Divide and conquer [Leetcode/C++] 169_Majority Element 문제는 다음과 같습니다. 쉽지만, 새로운 알고리즘을 배울 수 있었던 문제였습니다. ➡️ 가장 마지막 풀이에 소개하겠습니다. 총 3가지 방법으로 풀었는데, 다음과 같습니다. key에 해당 숫자와, value에 해당 숫자가 나온 횟수를 계산하여, hash map의 value중 최댓값을 구해주면 됩니다. 전체 코드는 다음과 같습니다. 문제를 잘 읽어보면, 가장 많이 나온 수는 전체 수의 절반이상으... arrayDivide and conquerhashleetcodesortingDivide and conquer